package de.haw.ai3.bs.aufgabe3.a1;

import java.util.Random;
import java.util.concurrent.locks.ReentrantLock;

public class Kasse {

	private final ReentrantLock lock = new ReentrantLock();
	private final int BEZAHLZEIT = 400;
	private int kassenNummer;
	private int zähler=0;

	public Kasse(int nummer) {
		kassenNummer=nummer;
	}
	
	public void incrementZaehler(){
		zähler++;
	}
	
	public void decrementZaehler(){
		zähler--;
	}

	public void bezahlen(Student student) {
		lock.lock();
		System.err.println("Student-Nr.: " + student.getStudentNummer() + " bezahlt jetzt.");
		Random random = new Random();
		try {
			Thread.sleep(random.nextInt(BEZAHLZEIT));
		} catch (InterruptedException e) {
			Thread.currentThread().interrupt();
		}
		System.err.println("Student-Nr.: " + student.getStudentNummer() + " hat bezahlt.");
		lock.unlock();
	}
	
	public String getInfo(){
		return "Bei Kasse Nummer " + kassenNummer+" stehen " + size() + "Leute an!"; 
	}

	public int size() {
		return zähler;
	}
}
